home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-19 / iritsm3s.zip / TEAPOT.IRT < prev    next >
Text File  |  1991-12-15  |  15KB  |  343 lines

  1. #
  2. # The infamous Teapot data as four B-spline surfaces.
  3. #
  4. echosrc = false;
  5.  
  6. Body = sbspline( 4, 4, 
  7.     list( list( ctlpt( E3, 1.4, 2.25, 0 ),
  8.                 ctlpt( E3, 1.3375, 2.38125, 0 ),
  9.                 ctlpt( E3, 1.4375, 2.38125, 0 ),
  10.                 ctlpt( E3, 1.5, 2.25, 0 ),
  11.                 ctlpt( E3, 1.75, 1.725, 0 ),
  12.                 ctlpt( E3, 2, 1.2, 0 ),
  13.                 ctlpt( E3, 2, 0.75, 0 ),
  14.                 ctlpt( E3, 2, 0.3, 0 ),
  15.                 ctlpt( E3, 1.5, 0.075, 0 ),
  16.                 ctlpt( E3, 1.5, 0, 0 ) ),
  17.           list( ctlpt( E3, 1.4, 2.25, 0.784 ),
  18.                 ctlpt( E3, 1.3375, 2.38125, 0.749 ),
  19.                 ctlpt( E3, 1.4375, 2.38125, 0.805 ),
  20.                 ctlpt( E3, 1.5, 2.25, 0.84 ),
  21.                 ctlpt( E3, 1.75, 1.725, 0.98 ),
  22.                 ctlpt( E3, 2, 1.2, 1.12 ),
  23.                 ctlpt( E3, 2, 0.75, 1.12 ),
  24.                 ctlpt( E3, 2, 0.3, 1.12 ),
  25.                 ctlpt( E3, 1.5, 0.075, 0.84 ),
  26.                 ctlpt( E3, 1.5, 0, 0.84 ) ),
  27.           list( ctlpt( E3, 0.784, 2.25, 1.4 ),
  28.                 ctlpt( E3, 0.749, 2.38125, 1.3375 ),
  29.                 ctlpt( E3, 0.805, 2.38125, 1.4375 ),
  30.                 ctlpt( E3, 0.84, 2.25, 1.5 ),
  31.                 ctlpt( E3, 0.98, 1.725, 1.75 ),
  32.                 ctlpt( E3, 1.12, 1.2, 2 ),
  33.                 ctlpt( E3, 1.12, 0.75, 2 ),
  34.                 ctlpt( E3, 1.12, 0.3, 2 ),
  35.                 ctlpt( E3, 0.84, 0.075, 1.5 ),
  36.                 ctlpt( E3, 0.84, 0, 1.5 ) ),
  37.           list( ctlpt( E3, 0, 2.25, 1.4 ),
  38.                 ctlpt( E3, 0, 2.38125, 1.3375 ),
  39.                 ctlpt( E3, 0, 2.38125, 1.4375 ),
  40.                 ctlpt( E3, 0, 2.25, 1.5 ),
  41.                 ctlpt( E3, 0, 1.725, 1.75 ),
  42.                 ctlpt( E3, 0, 1.2, 2 ),
  43.                 ctlpt( E3, 0, 0.75, 2 ),
  44.                 ctlpt( E3, 0, 0.3, 2 ),
  45.                 ctlpt( E3, 0, 0.075, 1.5 ),
  46.                 ctlpt( E3, 0, 0, 1.5 ) ),
  47.           list( ctlpt( E3, -0.784, 2.25, 1.4 ),
  48.                 ctlpt( E3, -0.749, 2.38125, 1.3375 ),
  49.                 ctlpt( E3, -0.805, 2.38125, 1.4375 ),
  50.                 ctlpt( E3, -0.84, 2.25, 1.5 ),
  51.                 ctlpt( E3, -0.98, 1.725, 1.75 ),
  52.                 ctlpt( E3, -1.12, 1.2, 2 ),
  53.                 ctlpt( E3, -1.12, 0.75, 2 ),
  54.                 ctlpt( E3, -1.12, 0.3, 2 ),
  55.                 ctlpt( E3, -0.84, 0.075, 1.5 ),
  56.                 ctlpt( E3, -0.84, 0, 1.5 ) ),
  57.           list( ctlpt( E3, -1.4, 2.25, 0.784 ),
  58.                 ctlpt( E3, -1.3375, 2.38125, 0.749 ),
  59.                 ctlpt( E3, -1.4375, 2.38125, 0.805 ),
  60.                 ctlpt( E3, -1.5, 2.25, 0.84 ),
  61.                 ctlpt( E3, -1.75, 1.725, 0.98 ),
  62.                 ctlpt( E3, -2, 1.2, 1.12 ),
  63.                 ctlpt( E3, -2, 0.75, 1.12 ),
  64.                 ctlpt( E3, -2, 0.3, 1.12 ),
  65.                 ctlpt( E3, -1.5, 0.075, 0.84 ),
  66.                 ctlpt( E3, -1.5, 0, 0.84 ) ),
  67.           list( ctlpt( E3, -1.4, 2.25, 0 ),
  68.                 ctlpt( E3, -1.3375, 2.38125, 0 ),
  69.                 ctlpt( E3, -1.4375, 2.38125, 0 ),
  70.                 ctlpt( E3, -1.5, 2.25, 0 ),
  71.                 ctlpt( E3, -1.75, 1.725, 0 ),
  72.                 ctlpt( E3, -2, 1.2, 0 ),
  73.                 ctlpt( E3, -2, 0.75, 0 ),
  74.                 ctlpt( E3, -2, 0.3, 0 ),
  75.                 ctlpt( E3, -1.5, 0.075, 0 ),
  76.                 ctlpt( E3, -1.5, 0, 0 ) ),
  77.           list( ctlpt( E3, -1.4, 2.25, -0.784 ),
  78.                 ctlpt( E3, -1.3375, 2.38125, -0.749 ),
  79.                 ctlpt( E3, -1.4375, 2.38125, -0.805 ),
  80.                 ctlpt( E3, -1.5, 2.25, -0.84 ),
  81.                 ctlpt( E3, -1.75, 1.725, -0.98 ),
  82.                 ctlpt( E3, -2, 1.2, -1.12 ),
  83.                 ctlpt( E3, -2, 0.75, -1.12 ),
  84.                 ctlpt( E3, -2, 0.3, -1.12 ),
  85.                 ctlpt( E3, -1.5, 0.075, -0.84 ),
  86.                 ctlpt( E3, -1.5, 0, -0.84 ) ),
  87.           list( ctlpt( E3, -0.784, 2.25, -1.4 ),
  88.                 ctlpt( E3, -0.749, 2.38125, -1.3375 ),
  89.                 ctlpt( E3, -0.805, 2.38125, -1.4375 ),
  90.                 ctlpt( E3, -0.84, 2.25, -1.5 ),
  91.                 ctlpt( E3, -0.98, 1.725, -1.75 ),
  92.                 ctlpt( E3, -1.12, 1.2, -2 ),
  93.                 ctlpt( E3, -1.12, 0.75, -2 ),
  94.                 ctlpt( E3, -1.12, 0.3, -2 ),
  95.                 ctlpt( E3, -0.84, 0.075, -1.5 ),
  96.                 ctlpt( E3, -0.84, 0, -1.5 ) ),
  97.           list( ctlpt( E3, 0, 2.25, -1.4 ),
  98.                 ctlpt( E3, 0, 2.38125, -1.3375 ),
  99.                 ctlpt( E3, 0, 2.38125, -1.4375 ),
  100.                 ctlpt( E3, 0, 2.25, -1.5 ),
  101.                 ctlpt( E3, 0, 1.725, -1.75 ),
  102.                 ctlpt( E3, 0, 1.2, -2 ),
  103.                 ctlpt( E3, 0, 0.75, -2 ),
  104.                 ctlpt( E3, 0, 0.3, -2 ),
  105.                 ctlpt( E3, 0, 0.075, -1.5 ),
  106.                 ctlpt( E3, 0, 0, -1.5 ) ),
  107.           list( ctlpt( E3, 0.784, 2.25, -1.4 ),
  108.                 ctlpt( E3, 0.749, 2.38125, -1.3375 ),
  109.                 ctlpt( E3, 0.805, 2.38125, -1.4375 ),
  110.                 ctlpt( E3, 0.84, 2.25, -1.5 ),
  111.                 ctlpt( E3, 0.98, 1.725, -1.75 ),
  112.                 ctlpt( E3, 1.12, 1.2, -2 ),
  113.                 ctlpt( E3, 1.12, 0.75, -2 ),
  114.                 ctlpt( E3, 1.12, 0.3, -2 ),
  115.                 ctlpt( E3, 0.84, 0.075, -1.5 ),
  116.                 ctlpt( E3, 0.84, 0, -1.5 ) ),
  117.           list( ctlpt( E3, 1.4, 2.25, -0.784 ),
  118.                 ctlpt( E3, 1.3375, 2.38125, -0.749 ),
  119.                 ctlpt( E3, 1.4375, 2.38125, -0.805 ),
  120.                 ctlpt( E3, 1.5, 2.25, -0.84 ),
  121.                 ctlpt( E3, 1.75, 1.725, -0.98 ),
  122.                 ctlpt( E3, 2, 1.2, -1.12 ),
  123.                 ctlpt( E3, 2, 0.75, -1.12 ),
  124.                 ctlpt( E3, 2, 0.3, -1.12 ),
  125.                 ctlpt( E3, 1.5, 0.075, -0.84 ),
  126.                 ctlpt( E3, 1.5, 0, -0.84 ) ),
  127.           list( ctlpt( E3, 1.4, 2.25, 0 ),
  128.                 ctlpt( E3, 1.3375, 2.38125, 0 ),
  129.                 ctlpt( E3, 1.4375, 2.38125, 0 ),
  130.                 ctlpt( E3, 1.5, 2.25, 0 ),
  131.                 ctlpt( E3, 1.75, 1.725, 0 ),
  132.                 ctlpt( E3, 2, 1.2, 0 ),
  133.                 ctlpt( E3, 2, 0.75, 0 ),
  134.                 ctlpt( E3, 2, 0.3, 0 ),
  135.                 ctlpt( E3, 1.5, 0.075, 0 ),
  136.                 ctlpt( E3, 1.5, 0, 0 ) ) ),
  137.     list( list( 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3 ),
  138.           list( 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4 ) ) );
  139. Spout = sbspline( 4, 4, 
  140.     list( list( ctlpt( E3, 1.7, 1.275, 0 ),
  141.                 ctlpt( E3, 2.6, 1.275, 0 ),
  142.                 ctlpt( E3, 2.3, 1.95, 0 ),
  143.                 ctlpt( E3, 2.7, 2.25, 0 ),
  144.                 ctlpt( E3, 2.8, 2.325, 0 ),
  145.                 ctlpt( E3, 2.9, 2.325, 0 ),
  146.                 ctlpt( E3, 2.8, 2.25, 0 ) ),
  147.           list( ctlpt( E3, 1.7, 1.275, 0.66 ),
  148.                 ctlpt( E3, 2.6, 1.275, 0.66 ),
  149.                 ctlpt( E3, 2.3, 1.95, 0.25 ),
  150.                 ctlpt( E3, 2.7, 2.25, 0.25 ),
  151.                 ctlpt( E3, 2.8, 2.325, 0.25 ),
  152.                 ctlpt( E3, 2.9, 2.325, 0.15 ),
  153.                 ctlpt( E3, 2.8, 2.25, 0.15 ) ),
  154.           list( ctlpt( E3, 1.7, 0.45, 0.66 ),
  155.                 ctlpt( E3, 3.1, 0.675, 0.66 ),
  156.                 ctlpt( E3, 2.4, 1.875, 0.25 ),
  157.                 ctlpt( E3, 3.3, 2.25, 0.25 ),
  158.                 ctlpt( E3, 3.525, 2.34375, 0.25 ),
  159.                 ctlpt( E3, 3.45, 2.3625, 0.15 ),
  160.                 ctlpt( E3, 3.2, 2.25, 0.15 ) ),
  161.           list( ctlpt( E3, 1.7, 0.45, 0 ),
  162.                 ctlpt( E3, 3.1, 0.675, 0 ),
  163.                 ctlpt( E3, 2.4, 1.875, 0 ),
  164.                 ctlpt( E3, 3.3, 2.25, 0 ),
  165.                 ctlpt( E3, 3.525, 2.34375, 0 ),
  166.                 ctlpt( E3, 3.45, 2.3625, 0 ),
  167.                 ctlpt( E3, 3.2, 2.25, 0 ) ),
  168.           list( ctlpt( E3, 1.7, 0.45, -0.66 ),
  169.                 ctlpt( E3, 3.1, 0.675, -0.66 ),
  170.                 ctlpt( E3, 2.4, 1.875, -0.25 ),
  171.                 ctlpt( E3, 3.3, 2.25, -0.25 ),
  172.                 ctlpt( E3, 3.525, 2.34375, -0.25 ),
  173.                 ctlpt( E3, 3.45, 2.3625, -0.15 ),
  174.                 ctlpt( E3, 3.2, 2.25, -0.15 ) ),
  175.           list( ctlpt( E3, 1.7, 1.275, -0.66 ),
  176.                 ctlpt( E3, 2.6, 1.275, -0.66 ),
  177.                 ctlpt( E3, 2.3, 1.95, -0.25 ),
  178.                 ctlpt( E3, 2.7, 2.25, -0.25 ),
  179.                 ctlpt( E3, 2.8, 2.325, -0.25 ),
  180.                 ctlpt( E3, 2.9, 2.325, -0.15 ),
  181.                 ctlpt( E3, 2.8, 2.25, -0.15 ) ),
  182.           list( ctlpt( E3, 1.7, 1.275, 0 ),
  183.                 ctlpt( E3, 2.6, 1.275, 0 ),
  184.                 ctlpt( E3, 2.3, 1.95, 0 ),
  185.                 ctlpt( E3, 2.7, 2.25, 0 ),
  186.                 ctlpt( E3, 2.8, 2.325, 0 ),
  187.                 ctlpt( E3, 2.9, 2.325, 0 ),
  188.                 ctlpt( E3, 2.8, 2.25, 0 ) ) ),
  189.     list( list( 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2 ),
  190.           list( 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2 ) ) );
  191. Handle = sbspline( 4, 4, 
  192.     list( list( ctlpt( E3, -1.595, 1.875, 0 ),
  193.                 ctlpt( E3, -2.295, 1.875, 0 ),
  194.                 ctlpt( E3, -2.695, 1.875, 0 ),
  195.                 ctlpt( E3, -2.695, 1.65, 0 ),
  196.                 ctlpt( E3, -2.695, 1.425, 0 ),
  197.                 ctlpt( E3, -2.495, 0.975, 0 ),
  198.                 ctlpt( E3, -1.995, 0.75, 0 ) ),
  199.           list( ctlpt( E3, -1.595, 1.875, 0.3 ),
  200.                 ctlpt( E3, -2.295, 1.875, 0.3 ),
  201.                 ctlpt( E3, -2.695, 1.875, 0.3 ),
  202.                 ctlpt( E3, -2.695, 1.65, 0.3 ),
  203.                 ctlpt( E3, -2.695, 1.425, 0.3 ),
  204.                 ctlpt( E3, -2.495, 0.975, 0.3 ),
  205.                 ctlpt( E3, -1.995, 0.75, 0.3 ) ),
  206.           list( ctlpt( E3, -1.495, 2.1, 0.3 ),
  207.                 ctlpt( E3, -2.495, 2.1, 0.3 ),
  208.                 ctlpt( E3, -2.995, 2.1, 0.3 ),
  209.                 ctlpt( E3, -2.995, 1.65, 0.3 ),
  210.                 ctlpt( E3, -2.995, 1.2, 0.3 ),
  211.                 ctlpt( E3, -2.645, 0.7875, 0.3 ),
  212.                 ctlpt( E3, -1.895, 0.45, 0.3 ) ),
  213.           list( ctlpt( E3, -1.495, 2.1, 0 ),
  214.                 ctlpt( E3, -2.495, 2.1, 0 ),
  215.                 ctlpt( E3, -2.995, 2.1, 0 ),
  216.                 ctlpt( E3, -2.995, 1.65, 0 ),
  217.                 ctlpt( E3, -2.995, 1.2, 0 ),
  218.                 ctlpt( E3, -2.645, 0.7875, 0 ),
  219.                 ctlpt( E3, -1.895, 0.45, 0 ) ),
  220.           list( ctlpt( E3, -1.495, 2.1, -0.3 ),
  221.                 ctlpt( E3, -2.495, 2.1, -0.3 ),
  222.                 ctlpt( E3, -2.995, 2.1, -0.3 ),
  223.                 ctlpt( E3, -2.995, 1.65, -0.3 ),
  224.                 ctlpt( E3, -2.995, 1.2, -0.3 ),
  225.                 ctlpt( E3, -2.645, 0.7875, -0.3 ),
  226.                 ctlpt( E3, -1.895, 0.45, -0.3 ) ),
  227.           list( ctlpt( E3, -1.595, 1.875, -0.3 ),
  228.                 ctlpt( E3, -2.295, 1.875, -0.3 ),
  229.                 ctlpt( E3, -2.695, 1.875, -0.3 ),
  230.                 ctlpt( E3, -2.695, 1.65, -0.3 ),
  231.                 ctlpt( E3, -2.695, 1.425, -0.3 ),
  232.                 ctlpt( E3, -2.495, 0.975, -0.3 ),
  233.                 ctlpt( E3, -1.995, 0.75, -0.3 ) ),
  234.           list( ctlpt( E3, -1.595, 1.875, 0 ),
  235.                 ctlpt( E3, -2.295, 1.875, 0 ),
  236.                 ctlpt( E3, -2.695, 1.875, 0 ),
  237.                 ctlpt( E3, -2.695, 1.65, 0 ),
  238.                 ctlpt( E3, -2.695, 1.425, 0 ),
  239.                 ctlpt( E3, -2.495, 0.975, 0 ),
  240.                 ctlpt( E3, -1.995, 0.75, 0 ) ) ),
  241.     list( list( 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2 ),
  242.           list( 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2 ) ) );
  243. Cap = sbspline( 4, 4, 
  244.     list( list( ctlpt( E3, 0, 3, 0 ),
  245.                 ctlpt( E3, 0.8, 3, 0 ),
  246.                 ctlpt( E3, 0, 2.7, 0 ),
  247.                 ctlpt( E3, 0.2, 2.55, 0 ),
  248.                 ctlpt( E3, 0.4, 2.4, 0 ),
  249.                 ctlpt( E3, 1.3, 2.4, 0 ),
  250.                 ctlpt( E3, 1.3, 2.25, 0 ) ),
  251.           list( ctlpt( E3, 0, 3, 0.002 ),
  252.                 ctlpt( E3, 0.8, 3, 0.45 ),
  253.                 ctlpt( E3, 0, 2.7, 0 ),
  254.                 ctlpt( E3, 0.2, 2.55, 0.112 ),
  255.                 ctlpt( E3, 0.4, 2.4, 0.224 ),
  256.                 ctlpt( E3, 1.3, 2.4, 0.728 ),
  257.                 ctlpt( E3, 1.3, 2.25, 0.728 ) ),
  258.           list( ctlpt( E3, 0.002, 3, 0 ),
  259.                 ctlpt( E3, 0.45, 3, 0.8 ),
  260.                 ctlpt( E3, 0, 2.7, 0 ),
  261.                 ctlpt( E3, 0.112, 2.55, 0.2 ),
  262.                 ctlpt( E3, 0.224, 2.4, 0.4 ),
  263.                 ctlpt( E3, 0.728, 2.4, 1.3 ),
  264.                 ctlpt( E3, 0.728, 2.25, 1.3 ) ),
  265.           list( ctlpt( E3, 0, 3, 0 ),
  266.                 ctlpt( E3, 0, 3, 0.8 ),
  267.                 ctlpt( E3, 0, 2.7, 0 ),
  268.                 ctlpt( E3, 0, 2.55, 0.2 ),
  269.                 ctlpt( E3, 0, 2.4, 0.4 ),
  270.                 ctlpt( E3, 0, 2.4, 1.3 ),
  271.                 ctlpt( E3, 0, 2.25, 1.3 ) ),
  272.           list( ctlpt( E3, -0.002, 3, 0 ),
  273.                 ctlpt( E3, -0.45, 3, 0.8 ),
  274.                 ctlpt( E3, 0, 2.7, 0 ),
  275.                 ctlpt( E3, -0.112, 2.55, 0.2 ),
  276.                 ctlpt( E3, -0.224, 2.4, 0.4 ),
  277.                 ctlpt( E3, -0.728, 2.4, 1.3 ),
  278.                 ctlpt( E3, -0.728, 2.25, 1.3 ) ),
  279.           list( ctlpt( E3, 0, 3, 0.002 ),
  280.                 ctlpt( E3, -0.8, 3, 0.45 ),
  281.                 ctlpt( E3, 0, 2.7, 0 ),
  282.                 ctlpt( E3, -0.2, 2.55, 0.112 ),
  283.                 ctlpt( E3, -0.4, 2.4, 0.224 ),
  284.                 ctlpt( E3, -1.3, 2.4, 0.728 ),
  285.                 ctlpt( E3, -1.3, 2.25, 0.728 ) ),
  286.           list( ctlpt( E3, 0, 3, 0 ),
  287.                 ctlpt( E3, -0.8, 3, 0 ),
  288.                 ctlpt( E3, 0, 2.7, 0 ),
  289.                 ctlpt( E3, -0.2, 2.55, 0 ),
  290.                 ctlpt( E3, -0.4, 2.4, 0 ),
  291.                 ctlpt( E3, -1.3, 2.4, 0 ),
  292.                 ctlpt( E3, -1.3, 2.25, 0 ) ),
  293.           list( ctlpt( E3, 0, 3, -0.002 ),
  294.                 ctlpt( E3, -0.8, 3, -0.45 ),
  295.                 ctlpt( E3, 0, 2.7, 0 ),
  296.                 ctlpt( E3, -0.2, 2.55, -0.112 ),
  297.                 ctlpt( E3, -0.4, 2.4, -0.224 ),
  298.                 ctlpt( E3, -1.3, 2.4, -0.728 ),
  299.                 ctlpt( E3, -1.3, 2.25, -0.728 ) ),
  300.           list( ctlpt( E3, -0.002, 3, 0 ),
  301.                 ctlpt( E3, -0.45, 3, -0.8 ),
  302.                 ctlpt( E3, 0, 2.7, 0 ),
  303.                 ctlpt( E3, -0.112, 2.55, -0.2 ),
  304.                 ctlpt( E3, -0.224, 2.4, -0.4 ),
  305.                 ctlpt( E3, -0.728, 2.4, -1.3 ),
  306.                 ctlpt( E3, -0.728, 2.25, -1.3 ) ),
  307.           list( ctlpt( E3, 0, 3, 0 ),
  308.                 ctlpt( E3, 0, 3, -0.8 ),
  309.                 ctlpt( E3, 0, 2.7, 0 ),
  310.                 ctlpt( E3, 0, 2.55, -0.2 ),
  311.                 ctlpt( E3, 0, 2.4, -0.4 ),
  312.                 ctlpt( E3, 0, 2.4, -1.3 ),
  313.                 ctlpt( E3, 0, 2.25, -1.3 ) ),
  314.           list( ctlpt( E3, 0.002, 3, 0 ),
  315.                 ctlpt( E3, 0.45, 3, -0.8 ),
  316.                 ctlpt( E3, 0, 2.7, 0 ),
  317.                 ctlpt( E3, 0.112, 2.55, -0.2 ),
  318.                 ctlpt( E3, 0.224, 2.4, -0.4 ),
  319.                 ctlpt( E3, 0.728, 2.4, -1.3 ),
  320.                 ctlpt( E3, 0.728, 2.25, -1.3 ) ),
  321.           list( ctlpt( E3, 0, 3, -0.002 ),
  322.                 ctlpt( E3, 0.8, 3, -0.45 ),
  323.                 ctlpt( E3, 0, 2.7, 0 ),
  324.                 ctlpt( E3, 0.2, 2.55, -0.112 ),
  325.                 ctlpt( E3, 0.4, 2.4, -0.224 ),
  326.                 ctlpt( E3, 1.3, 2.4, -0.728 ),
  327.                 ctlpt( E3, 1.3, 2.25, -0.728 ) ),
  328.           list( ctlpt( E3, 0, 3, 0 ),
  329.                 ctlpt( E3, 0.8, 3, 0 ),
  330.                 ctlpt( E3, 0, 2.7, 0 ),
  331.                 ctlpt( E3, 0.2, 2.55, 0 ),
  332.                 ctlpt( E3, 0.4, 2.4, 0 ),
  333.                 ctlpt( E3, 1.3, 2.4, 0 ),
  334.                 ctlpt( E3, 1.3, 2.25, 0 ) ) ),
  335.     list( list( 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2 ),
  336.           list( 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4 ) ) );
  337.  
  338. echosrc = true;
  339.  
  340. Teapot = list( Body, Spout, Handle, Cap );
  341.  
  342. interact( Teapot, 0 );
  343.